import {
    Group, CubeTextureLoader, MeshPhysicalMaterial
} from 'three'


// 引入加载器
// import { OBJLoader } from 'three/examples/jsm/loaders/OBJLoader.js'
import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js'

// 创建一个加载器
// const oBJLoader = new OBJLoader()
const gLTFLoader = new GLTFLoader()

// 创建贴图加载器
// setPath：表示文件路径 load表示6张图标，分别为x、y、z（x正方向，x反方向，y正方向，y反方向，z正方向，z反方向）
const textureCube = new CubeTextureLoader().setPath('/static/images/tietu/tietu1/').load(['px.jpg', 'nx.jpg', 'py.jpg', 'ny.jpg', 'pz.jpg', 'nz.jpg'])
// 创建一个模型组
const group = new Group()

// oBJLoader.load('/static/images/2025060414281333720600000.obj',function(modelObj) {
gLTFLoader.load('/static/images/轿车.glb', function (modelObj) {
    // 打印所有模型
    console.log('所有模型', modelObj.scene)
    modelObj.scene.position.y = -3
    group.add(modelObj.scene)

    // 车外壳包含多个Mesh，获取其中一个
    const mesh = modelObj.scene.getObjectByName('外壳01');
    // 设置清漆材质
    mesh.material = new MeshPhysicalMaterial({
        color: mesh.material.color, //默认颜色
        // color: 0x222222,//换一种颜色
        metalness: 0.9,//车外壳金属度
        roughness: 0.5,//车外壳粗糙度
        clearcoat: 1, //清漆层
        clearcoatRoughness: 0.01, //清漆层粗糙度
        transmission: 1.0,   // 玻璃材质透光率0-1之间默认是0
        envMap: textureCube, //环境贴图
        envMapIntensity: 2.5, //环境贴图对Mesh表面影响程度
    })

    // 设置玻璃透光率
    const mesh1 = modelObj.scene.getObjectByName('玻璃01');
    mesh1.material = new MeshPhysicalMaterial({
        transmission: 1.0,   // 玻璃材质透光率0-1之间默认是0
        metalness: 0.0,//车外壳金属度
        roughness: 0.0,//车外壳粗糙度
        envMap: textureCube, //环境贴图
        envMapIntensity: 1,  //环境贴图对Mesh表面影响程度
        ior: 1.5  //为非金属材质所设置的折射率，范围由1.0到2.333。默认为1.5
    })
}, function (xhr) {
    // 读取加载进度
    const percent = xhr.loaded / xhr.total
    console.log('加载进度', percent)
})

export default group